package com.itic.appbase.framework.utils;

import java.security.SecureRandom;
import java.util.UUID;

import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;

/**
 * 封装各种生成唯一性ID算法的工具类.
 */
@Service
@Lazy(false)
public class IdGen {

    private static SecureRandom random = new SecureRandom();

    private IdGen() {
        super();
    }

    /**
     * 封装JDK自带的UUID, 通过Random数字生成, 中间无-分割.
     */
    public static String uuid() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }

    /**
     * 使用SecureRandom随机生成Long.
     */
    public static long randomLong() {
        return Math.abs(random.nextInt(Integer.MAX_VALUE));
    }

    /**
     * 生成 10000000 - 99999999之间的随机数
     */
    public static int randomInt8() {
        return random.nextInt(89999999) + 10000000;
    }

	public static int randomInt6() {
		return random.nextInt(899999) + 100000;
	}
}
